package hu.bme.mit.inf.expendables.restservices;

import javax.ws.rs.*;
import javax.ws.rs.core.*;

import com.sun.jersey.multipart.FormDataParam;

@Path("/qualityassurance")
public interface IQualityAssuranceService {
	
	@POST
	@Path("/submitappnamesupervision")
	@Produces(MediaType.TEXT_PLAIN)
	public Response submitAppNameSupervision(@FormParam("appmetadataid") long appMetadataId, @FormParam("problemdescription") String problemDescription, @FormParam("result") Boolean result, @FormParam("userid") long userId);
	
	
	@POST
	@Path("/submitapptestresults")
	@Produces(MediaType.TEXT_PLAIN)
	public Response submitAppTestResults(@FormParam("problemdescription") String problemDescription, @FormParam("result") Boolean result, @FormParam("appmetadataid") long appMetadataId, @FormParam("userid") long userId);
	
	
	@POST
	@Path("/submitmetadatasupervision")
	@Produces(MediaType.TEXT_PLAIN)
	public Response submitMetaDataSupervision(@FormParam("problemdescription") String problemDescription, @FormParam("result") Boolean result, @FormParam("appmetadataid") long appMetadataId, @FormParam("userid") long userId);
	
	
	@GET
	@Path("/getnotsupervisedappsmetadatas")
	@Produces(MediaType.APPLICATION_JSON)
	public Response getNotSupervisedAppsMetadatas(@QueryParam("userid") long userId);
	
	
	@GET
	@Path("/getselectedappmetadata")
	@Produces(MediaType.APPLICATION_JSON)
	public Response getSelectedAppMetadata(@QueryParam("appmetadataid") long appMetadataId, @QueryParam("userid") long userId);
	
	
	@GET
	@Path("/getselectedapp")
	@Produces(MediaType.APPLICATION_JSON)
	public Response getSelectedApp(@QueryParam("appmetadataid") long appMetadataId, @QueryParam("userid") long userId);
	
}
